(* Begin[System] *)

CInterface["nvsystem",
Assign[Attributes,Condition,List,Slot],
Value[Address,And,Apply,Attributes,Begin,BeginLocal,BeginPackage,Block,CMatch,CRule,CSerial,CTest,Clear,ClearAttributes,Context,ContextPath,Delayed,Dispatch,End,EndLocal,EndPackage,Evaluate,For,FreeQ,Full,Function,Hash,Head,If,Input,IntArray,Key,Kind,Lazy,Length,Local,Load,Map,MatchQ,Module,Name,New,Not,Or,Order,Parse,Path,Postfix,Prefix,Pretty,Primary,Print,Replace,ReplaceAll,ReplaceRepeated,SameQ,Serial,Set,SetAttributes,SetDelayed,Slot,Symbol,Save,Timing,ToString,Type,Unevaluated,UnsameQ,Unset,While,Parser`Load,Parser`Save],
CInstall[_String],
CUninstall[_String],
Output[_,_String],
OutputAppend[_,_String],
Shell[_String]
]

SetAttributes[Set,HoldFirst]
Attributes[And] = {HoldAll,OneIdentity,Flat}
Attributes[Block] = {HoldAll}
Attributes[Condition] = {HoldAll}
Attributes[Context] = {HoldFirst}
Attributes[Delayed] = {HoldAll}
Attributes[For] = {HoldAll}
Attributes[Function] = {HoldAll}
Attributes[Hold] = {HoldAll}
Attributes[If] = {HoldRest}
Attributes[Local] = {HoldAll}
Attributes[Module] = {HoldAll}
Attributes[Name] = {HoldAll}
Attributes[Or] = {HoldAll,OneIdentity,Flat}
Attributes[Pattern] = {HoldFirst}
Attributes[Production] = {HoldAll}
Attributes[RuleDelayed] = {HoldRest}
Attributes[Serial] = {HoldAll,Flat}
Attributes[SetDelayed] = {HoldAll}
Attributes[Slot] = {HoldRest}
Attributes[Timing] = {HoldAll}
Attributes[Unevaluated] =  {HoldAll}
Attributes[Unset] = {HoldFirst}
Attributes[While] = {HoldAll}
Attributes[With] = {HoldAll}

End[]

<< Path["Number/Number.n"]
<< Path["Polynomial/Polynomial.n"]
<< Path["Graphics/Graphics.n"]
<< Path["String/String.n"]

<< Path["Calculus/Simplify.n"]
(*<< Path["Calculus/D.n"]
<< Path["Calculus/Integrate.n"]*)

<< Path["mULink/EmbedmU.n"]
(*<< Path["nVLink/Lua/LinkLua.n"]
<< Path["nVLink/NTL/LinkNTL.n"]
<< Path["nVLink/flint/LinkFLINT.n"]
<< Path["nVLink/Java/Embed/EmbedJava.n"]
<< Path["nVLink/Ecl/Embed/EmbedEcl.n"]*)